package me.jiatao.mybatisstudy.component;

import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;

@Component
public class CustomMetaObjectHandler implements MetaObjectHandler {
    @Override
    public void insertFill(MetaObject metaObject) {
        //版本号3.0.6以及之前的版本
        //this.setFieldValByName("operator", "Jerry", metaObject);
        //@since 快照：3.0.7.2-SNAPSHOT， @since 正式版暂未发布3.0.7

        Object noteMeta = getFieldValByName("note", metaObject);
        if (noteMeta == null) {
            this.setInsertFieldValByName("note", "默认添加note", metaObject);
        }
    }

    @Override
    public void updateFill(MetaObject metaObject) {
        //版本号3.0.6以及之前的版本
        //this.setFieldValByName("operator", "Tom", metaObject);
        //@since 快照：3.0.7.2-SNAPSHOT， @since 正式版暂未发布3.0.7

        Object noteMeta = getFieldValByName("note", metaObject);
        if (noteMeta == null) {
            this.setInsertFieldValByName("note", "默认修改note", metaObject);
        }
    }
}
